E-Commerce Platform

A fully functional e-commerce site with Stripe payment integration and task scheduling using node-cron.

Technologies Used:

React

React is used for building dynamic and interactive user interfaces with reusable components.

Node.js

Node.js enables server-side scripting and handles backend logic, providing a scalable and efficient environment.

MongoDB

MongoDB stores data in a flexible, JSON-like format, making it ideal for applications requiring scalability and fast iterations.

Stripe

Stripe is a payment gateway that provides a seamless and secure way to process payments online.

Node-cron

Node-cron is used to schedule and automate tasks, such as periodically deleting unverified users from the database.

Challenges:

Integrating multiple payment methods and scheduling tasks for user management.

Solutions:

Used Stripe API for seamless payment integration and Node-cron for task scheduling.

Outcome:

Enhanced user engagement, streamlined user management, and increased sales.

Project Showcase Video:

Folder Structure:


      /ecommerce-platform
│
├── /backend               # Backend folder (Node.js + Express)
│   ├── /config            # Configuration (e.g., environment variables, database)
│   ├── /controllers       # Business logic and request handling
│   ├── /models            # Mongoose models for MongoDB
│   ├── /routes            # API routes (e.g., auth, products, orders)
│   ├── /middleware        # Custom middleware (e.g., auth, error handling)
│   ├── /utils             # Utility functions (e.g., token generation, email, etc.)
│   ├── server.js          # Main entry point for the backend server
│   ├── .env               # Environment variables (e.g., database URL, secret keys)
│   └── package.json       # Backend dependencies and scripts
│
├── /frontend              # Frontend folder (React)
│   ├── /src
│   │   ├── /components    # Reusable UI components (e.g., product cards, buttons)
│   │   ├── /pages         # Application pages (e.g., Home, Product, Checkout)
│   │   ├── /context       # Global state management (e.g., Context API, Redux)
│   │   ├── /services      # API services (e.g., fetch products, user authentication)
│   │   ├── /assets        # Static assets (e.g., images, icons, videos)
│   │   ├── App.js         # Main application component
│   │   ├── index.js       # Entry point for the React app
│   │   ├── /styles        # CSS or SCSS files
│   │   └── /hooks         # Custom hooks (e.g., useAuth, useCart)
│   ├── package.json       # Frontend dependencies and scripts
│
├── /node_modules          # Auto-generated by npm or yarn
├── .gitignore             # Git ignore rules
├── README.md              # Project documentation
└── package.json           # Root package.json if using a monorepo (optional)